home *** CD-ROM | disk | FTP | other *** search
-
-
- Beschreibung zu COMMAND.PRG (V1.04)
-
- -----------------------------------
-
-
-
-
-
- Allgemeine Hinweise
-
- -------------------
-
-
-
- die Eingabe eines Befehls kann mit Hilfe der Cursortasten, der DELETE-
-
- Taste, der ESC-Taste und der BACKSPACE-Taste korrigiert werden!
-
- Ab Version 1.04 kann mit 'CTRL' '<-' zum Anfang der Eingabe gesprungen
-
- werden, analog funktioniert 'CTRL' '->', nur gehts hier ans Zeilenende.
-
-
-
- Alle Befehle müßen kleingeschrieben werden. Es kann nicht dafür garantiert
-
- werden, daß alle Eingabefehler ohne größere Verluste von Sourcefiles o.ä.
-
- abgefangen werden (selber probieren).
-
- Prinzipiell wird immer von der Directory ausgegangen, in der man sich ge-
-
- rade befindet. Bezugnehmen auf andere Directories bzw. Laufwerke kann man
-
- eigentlich nur mit 'cp' und 'dir'.
-
-
-
-
-
-
-
- Allgemeine Befehle
-
- ------------------
-
-
-
- Befehl: Beschreibung:
-
- ------- -------------
-
-
-
- mkdir <dirname> Es wird ein neuer Ordner erzeugt.
-
- Bsp.: mkdir neu_ord
-
- erzeugt den Ordner 'neu_ord'.
-
-
-
-
-
- rmdir <dirname> Löscht einen leeren (!) Ordner.
-
- Bsp.: rmdir quatsch
-
- löscht den Ordner 'quatsch'.
-
-
-
-
-
- rm <filename(n)> Löschen von Files.
-
- Bsp.: rm xy.dat
-
- löscht den File 'xy.dat'.
-
- Bsp.: rm *.prg
-
- löscht alle Files der Gattung '.prg'.
-
- Bsp.: rm Afile Bfile
-
- löscht 'Afile' und 'Bfile'.
-
- Bsp.: rm c:Cfile
-
- löscht auf Laufwerk 'C' 'Cfile'
-
-
-
-
-
- cp <fileA> <fileB> Kopieren von Files.
-
- Bsp.: cp Afile Bfile
-
- kopiert 'Afile' nach 'Bfile'
-
- Bsp.: cp *.prg c:*
-
- kopiert alle '.prg'-Files auf Laufwerk 'C'
-
- unter gleichem Namen.
-
- Da es mit diesem Befehl immer wieder Probleme
-
- gab, ist ein gesundes Maß an Vorsicht durch-
-
- aus angebracht!
-
-
-
-
-
-
-
- mv <altname> <neuname> Umbenennen von einem File.
-
- Bsp. mv alt.dat neu.dat
-
- aus dem Filenamen 'alt.dat' wird 'neu.dat'.
-
-
-
-
-
- cmp <fileA> <fileB> Vergleich zweier Files.
-
- Bsp.: cmp erster zweiter
-
- vergleicht die beiden Files 'erster' und
-
- 'zweiter'. Unterscheiden sich die beiden Files,
-
- wird eine entsprechende Meldung ausgegeben.
-
- Sind die beiden Files gleich, wird nichts
-
- zurückgemeldet!
-
-
-
-
-
- compress <file> Komprimiert einen ASCII-File (!). Der Ausgabe-
-
- file besitzt die Extension '.CPR'.
-
-
-
-
-
- expand <file> Expandiert einen File, der durch 'compress'
-
- komprimiert worden ist. Extension des Ausgabe-
-
- files ist '.EXP'.
-
-
-
-
-
- more <filename(n)> Ausgeben der Fileinhalte auf Screen.
-
- Bsp.: more info.dat
-
- gibt den File 'info.dat' aus.
-
- Ein Betätigen von '^Z' hat den Abbruch
-
- der Auflistung zur Folge.
-
- Ein analoges Verhalten findet sich bei 'od'.
-
- Ein Drücken von RETURN nach '[MORE]' ver-
-
- ursacht ein zeilenweises Weitergehen, jede
-
- andere Taste, außer '^Z', ein seitenweises.
-
- Wird "während" der Zeilenausgabe '^C' ge-
-
- drückt, erfolgt ein sofortiges Verlassen
-
- des Kommandointerpreters!
-
-
-
-
-
- head <filename(n)> Ausgeben der ersten fünf Zeilen eines Files.
-
- Bsp.: head info.dat
-
- gibt die ersten fünf Zeilen von 'info.dat'
-
- aus.
-
-
-
-
-
- od <filename(n)> Ausgeben des Hexdumps eines Files.
-
- Bsp.: od dump.dat
-
- der File 'dump.dat' wird in hexadezimaler
-
- Form ausgegeben.
-
-
-
-
-
- string <file> <string> Suchen nach einem String in einem File.
-
- Bsp.: string *.* Suchstring
-
- alle Files im aktuellen Ordner werden nach
-
- dem String 'Suchstring' durchsucht.
-
- Bei einem Auffinden des Strings erfolgt eine
-
- Meldung.
-
-
-
-
-
- crypt <keyA> <keyB> <fileA> <fileB>
-
- Ver-/Entschlüsseln von Dateien. <keyA/B> sind
-
- Zahlen, die zum Verschlüsseln und zum
-
- Entschlüsseln benötigt werden. Ein File kann
-
- nur durch die Zahlen wieder entschlüsselt
-
- werden, die auch zum Verschlüsseln benutzt
-
- worden sind! <fileA> ist der Quellfile,
-
- <fileB> der Zielfile.
-
- Wie sicher die Verschlüsselung ist, mag jeder
-
- für sich selbst entscheiden. Die beiden
-
- Schlüssel sind auf jeden Fall vom Typ 'long',
-
- dadurch ergeben sich schon eine große Zahl
-
- von Verschlüsselungsmöglichkeiten. Es können
-
- übrigens auch negative Zahlen benutzt werden!
-
- ACHTUNG! Die Verschlüsselung erfolgt ab V1.02
-
- in etwas abgeänderter Form. Man kann deshalb
-
- alte verschlüsselte Files nicht mehr mit
-
- diesem Befehl entschlüsseln und umgekehrt.
-
-
-
-
-
- lp <filename(n)> Ausgeben von Files auf den Drucker.
-
- Bsp. lp druck.dat
-
- gibt den File 'druck.dat' auf den Drucker
-
- aus (Centronics-Schnittstelle).
-
-
-
-
-
- setlp <wert1> .. <wertN> Diese Steuercodes werden an den Drucker vor
-
- dem Start des Ausdrucks geschickt. Default
-
- ist das Senden von keinen Steuerzeichen.
-
- Soll ein vorhergehender Steuercode ungültig
-
- gemacht werden, muß man einfach 'setlp -1'
-
- eingeben.
-
- <wert1> .. <wertN> bezeichnet Dezimalzahlen.
-
- Bsp 1:
-
- setlp 27 48
-
- setzt einen NEC-Printer auf 8 lpi.
-
-
-
-
-
- resetlp <wert1> .. <wertN> Analog zu 'setlp', nur wird dieser Steuercode
-
- nach Abschluß des Druckvorgangs an den Drucker
-
- geschickt.
-
-
-
-
-
- rstab Ist die TAB-Expandierung eingeschaltet
-
- (default), sendet der Befehl 'lp' für
-
- jedes TAB-Zeichen die entsprechende An-
-
- zahl BLANKS, andernfalls das TAB-Zeichen.
-
- Dieser Befehl dient zum Ein-/ Ausschalten
-
- dieser Option.
-
-
-
-
-
- settab <wert> Einstellen des Tabulators für Ausdrucke.
-
- Defaultmäßig ist 8 eingestellt. <wert>
-
- darf nicht unter 2 liegen!
-
-
-
-
-
- cd <directory> Wechseln eines Ordners
-
- Bsp.: cd bingo\bingo1
-
- wechselt zum Subdirectory 'bingo\bingo1'
-
- Bsp.: cd c:ordner1
-
- wechselt zum Subdirectory 'ordner1' auf
-
- Laufwerk 'C'.
-
-
-
-
-
- pwd Zeigt den aktuellen Directorypfad auf
-
-
-
-
-
- dir <file> Aufzeigen der Files innerhalb eines Ordners
-
- Bsp.: dir
-
- auflisten aller Files.
-
- Bsp.: dir *.ttp
-
- nur '.ttp'-Files werden angezeigt.
-
-
-
-
-
- ls <file> Kurzausgabe des Directoryinhalts
-
-
-
-
-
- <a..z>: Neusetzen des aktuellen Laufwerks
-
- Bsp.: c:
-
- Laufwerk 'C' wird zum aktuellen Laufwerk.
-
-
-
-
-
- defkey <1..20> <string> Belegt Funktionstaste mit einem String, der
-
- bei drücken der Taste ausgeführt wird.
-
- Bsp.: defkey 11 time
-
- ein Drücken von <SHIFT> <F1> zeigt nun immer
-
- an, was die Stunde geschlagen hat.
-
-
-
-
-
- keys Gibt die Funktionstastenbelegung aus.
-
-
-
-
-
- time <hh:mm> Ohne Argumentangabe wird die Uhrzeit ausge-
-
- geben, sonst erfolgt ein setzen der Uhrzeit.
-
- Bsp.: time 1:8
-
- setzt die Uhr auf 1 Uhr 8 Minuten.
-
-
-
-
-
- date <dd.mm.yy> Ohne Argumentangabe erfolgt Ausgabe des
-
- Datums, sonst ein setzen des Datums.
-
- Bsp.: date
-
- es wird das Datum ausgegeben.
-
-
-
-
-
- echo <string> Ausgabe des angegebenen Strings auf Screen.
-
- Bsp.: echo Hallo Welt!
-
- es wird 'Hallo Welt!' ausgegeben. Sinnvoll
-
- ist dieser Befehl in Batchfiles.
-
-
-
-
-
- wc <fileA> <fileB> ... Zählt in den Files die vorkommenden Zeilen,
-
- Zahlen und Zeichen.
-
-
-
-
-
- find <file> Sucht im 'kompletten' Filesystem nach dem an-
-
- gegebenen File. Wird dieser gefunden, erfolgt
-
- eine Ausgabe mit der kompletten Pfadangabe.
-
-
-
-
-
- df Ausgabe des freien Speicherplatzes auf dem
-
- aktuellen Laufwerk.
-
-
-
-
-
- device Gibt die angeschlossenen Laufwerke an.
-
-
-
-
-
- wait Wartet auf Drücken einer Taste. Dieser Befehl
-
- ist manchmal in Batchfiles sinnvoll, um
-
- das Abarbeiten anzuhalten.
-
-
-
-
-
- lock Dieser Befehl dient zum Sperren des Computers.
-
- Nach Eingabe von 'lock' wird man aufgefordert
-
- zweimal ein Password einzugeben. Der Rechner
-
- kann dann erst nach erneuter Eingabe dieses
-
- Wortes weiterbenutzt werden. Dieser Schutz
-
- kann natürlich durch Betätigung von RESET
-
- bzw. der POWER-Taste 'geknackt' werden!
-
-
-
-
-
- exit Verlassen von COMMAND.PRG. Durch ^C wird das
-
- gleiche erreicht.
-
-
-
-
-
- cls Löschen des Bildschirms
-
-
-
-
-
- inverse Invertiert Bildschirmdarstellung
-
-
-
-
-
- srhist Schaltet Historyeintragungen ein/aus
-
-
-
-
-
- flags Zeigt Stellung diverser Flags
-
-
-
-
-
- free Gibt verfügbaren Speicherplatz aus
-
-
-
-
-
- mouseon Einschalten des Mauszeigers (wozu auch immer)
-
-
-
-
-
- mouseoff Ausschalten des Mauszeigers
-
-
-
-
-
- crson Einschalten des Cursors
-
-
-
-
-
- crsoff Ausschalten des Cursors
-
-
-
-
-
- help Gibt eine Kommandoliste aus
-
-
-
-
-
- bell Einmal Klingeln
-
-
-
-
-
- lfcr <fileA> <fileB> Umwandeln eines ASCII-Files (fileA), wie er
-
- von MICROEMACS erzeugt wird, in einen File,
-
- wie er von anderen Editoren gebraucht wird
-
- (fileB).
-
- Wird wohl nicht allzuhäufig benutzt werden,
-
- ich war aber einfach zu faul, den Befehl
-
- wieder rauszuschmeißen!
-
-
-
-
-
- <integerzahl> Darstellung einer Integerzahl in hexadezimaler
-
- und oktaler Schreibweise.
-
- Bsp.: 22
-
- Ausgabe dieser Zahl hexadezimal und oktal.
-
-
-
-
-
- $<hexzahl> Darstellung dieser Zahl dezimal und oktal.
-
-
-
-
-
- \<oktalzahl> Darstellung dieser Zahl hexadezimal und
-
- dezimal.
-
-
-
-
-
- COMMAND.PRG besitzt die Möglichkeit, andere Programme aufrufen zu können. Dazu
-
- muß lediglich der Filenamen und ggf. die erforderlichen Argumente eingegeben
-
- werden. Ist dieses Programm (z.B. Compiler,Editor...) mit der Abarbeitung
-
- fertig, wird automatisch zu COMMAND.PRG zurückgekehrt.
-
-
-
-
-
-
-
- ALIAS-Einrichtung
-
- -----------------
-
- Der Kommandointerpreter bietet dem Benutzer die Möglichkeit, bestimmte Befehle
-
- umzubenennen. Wird zum Beispiel öfters ein bestimmtes Programm aufgerufen,
-
- kann dieser Aufruf umbenannt werden. Sei das Programm 'xcompiler.prg' immer
-
- wieder aufzurufen, kann dieses Kommando z.B. in 'cc' umbenannt werden.
-
- Wird ein Editor öfters zum editieren eines bestimmten Files aufgerufen, kann
-
- der normale Aufruf 'editor.prg file.c' einfach in einen anderen kürzeren,
-
- z.B. 'edi', umbenannt werden.
-
- Sämtliche Umbenennungen können im File 'alias.dat' abgelegt werden. Dieser
-
- File wird zum Programmbeginn von COMMAND.PRG eingelesen (soweit vorhanden),
-
- die alternativen Kommandonamen können also sofort genutzt werden und müssen
-
- nicht zu jeder Sitzung neu eingegeben werden.
-
-
-
- alias Aufzeigen aller aktuell gültigen Umbenennung-
-
- en.
-
-
-
-
-
- getalias Einlesen des Files 'alias.dat'.
-
-
-
-
-
- savealias Abspeichern der gültigen Umbenennungen in
-
- 'alias.dat'.
-
-
-
-
-
- newalias <neu> <alt> Umbenennen von 'alt' in 'neu'.
-
- Bsp. newalias cc mmcc.ttp
-
- das alte Kommando 'mmcc.ttp' kann nun auch
-
- durch 'cc' aufgerufen werden.
-
-
-
-
-
- delalias <name> Löschen eines Alias-Eintrages (<name>).
-
-
-
-
-
-
-
-
-
- History-Einrichtung
-
- -------------------
-
-
-
- Ein weiteres Bonbon des Interpreters ist die Möglichkeit, bereits eingegebene
-
- Befehle auf einfache Weise erneut aufzurufen. Dies ist allerdings auf die
-
- letzten zwanzig Kommandos beschränkt. UNIX-Kennern dürfte diese Einrichtung
-
- und ihre Vorzüge wohl hinlänglich bekannt sein.
-
- Ein einfaches Beispiel soll die praktische Anwendung dieser Möglichkeit auf-
-
- zeigen. Zum Erstellen eines Programms in C, PASCAL u.s.w. sind immer die
-
- gleichen Schritte nötig: Editieren->Compilieren->Linken->Probelauf. Meist
-
- erfolgt zwischen Compilieren und Linken noch eine Kurzvisite beim Editor,
-
- weil halt doch noch ein Syntaxfehler drin ist.
-
-
-
- Die Kommandos seien ihre Bedeutung:
-
- folgende:
-
-
-
- 77>ed bsp.pas Aufruf des Editors zum Editieren von bsp.pas
-
- 78>pas bsp.pas Aufruf des Compilers zur Objektfilerzeugung
-
-
-
- Ist jetzt ein Fehler aufgetreten, muß zum Editieren zurückgegangen werden.
-
- Also
-
-
-
- 79>ed bsp.pas
-
-
-
- eingeben u.s.w.
-
-
-
- Durch die Historyeinrichtung reicht es, wenn der Benutzer einfach '!77'
-
- eingibt, es wird dann das Kommando 77 ausgeführt. '77>' stellt übrigens die
-
- Aufforderung des Interpreters dar, Kommando 77 einzugeben. Es kann aber
-
- nicht nur über Kommandonummern auf zurückliegende Eingaben Bezug genommen
-
- werden, die Eingabe '!e' hätte auch zum Wiederaufruf von Kommando 77 ge-
-
- führt, d.h. es wird nach dem letzten Kommando gesucht, daß mit 'e' beginnt und
-
- dieses dann ausgeführt. Diese Eingabe von Anfangsbuchstaben ist nicht auf die
-
- Länge 1 begrenzt! Hat ein Benutzer kürzlich einen Kopierbefehl (cp A B), einen
-
- Vergleichsbefehl (cmp x y) und einen Befehl zum Wechseln des Ordners (cd \D)
-
- gegeben, kann durch Eingabe zweier Zeichen immer eindeutig auf eines dieser
-
- Kommandos Bezug genommen werden (z.B. '!cp' für den Kopierbefehl).
-
- Wohlgemerkt, die Benutzung von History ist auf die letzten fünfzig Eingaben
-
- beschränkt!.
-
-
-
- Ab Version 1.01 bietet die Historyeinrichtung weitere Möglichkeiten. Alte
-
- Befehle können durch Benutzung der CURSOR-UP-Taste angewählt werden. Ein
-
- Vorwärtsblättern ist durch CURSOR-DOWN gegeben. Die Befehle können editiert
-
- werden und kommen erst durch drücken von RETURN zur Ausführung!
-
-
-
- h Ausgabe der letzten fünfzig Kommandos.
-
-
-
-
-
- !<nr> Wiederaufruf des Kommandos mit der Nummer
-
- <nr>.
-
-
-
-
-
- !<string> Wiederaufruf des Kommandos, daß mit dem
-
- angegebenen <string> beginnt.
-
-
-
-
-
- !! Wiederaufruf des letzten Kommandos.
-
-
-
-
-
-
-
-
-
- Batch-Processing
-
- ----------------
-
-
-
- Kommen wir nun zur letzten aber nicht unbedeutendsten Fähigkeit des Kommando-
-
- Interpreters, dem Abarbeiten von Batchfiles.
-
- Leider wird diese Möglichkeit auch auf Systemen, die dafür eingerichtet sind
-
- selten genutzt. Lieber gibt ein Benutzer immer die gleiche Befehlsfolge ein,
-
- als sich einen Batchfile, der diese Folge enthält, zu erstellen und diesen
-
- dann einfach ablaufen zu lassen.
-
- In einem Batchfile kann prinzipiell jedes der bis jetzt besprochenen Kommandos
-
- stehen. Es gibt noch eine Palette weiterer Kommandos, die den Ablauf inner-
-
- halb eines Batchfiles regeln (z.B. Sprungmarken).
-
- Wird in einem Batchfile viel gesprungen, bzw. finden Schleifendurchläufe
-
- statt, sollte der File in einer RAMDisk abgelegt und gestartet werden, daß
-
- bringt einen ziemlichen Zeitgewinn und nützt die Floppy nicht ab.
-
-
-
- batch <file> <arg0> ... <arg9> Aufruf des Batchfiles <file>. <arg0> bis
-
- <arg9> entsprechen Strings. Innerhalb eines
-
- Batchfiles können Platzhalter gesetzt werden
-
- ($0 bis $9). Diese werden durch die Strings
-
- ersetzt. Dadurch wird erreicht, daß z.B. ein
-
- Batchfile für Compilierung und Linken eines
-
- Files mit unterschiedlichen Sourcefilenamen
-
- aufgerufen werden kann!
-
-
-
-
-
- @<file> <arg0> ... <arg9> entspricht 'batch'
-
-
-
-
-
- restart Befehl innerhalb eines Batchfiles zum
-
- Neustart des Files.
-
-
-
-
-
- stop Stoppen eines Batchfiles.
-
-
-
-
-
- ?stop bedingtes Stoppen eines Batchfiles (der Be-
-
- nutzer wird gefragt).
-
-
-
-
-
- text Jedes Kommando innerhalb eines Batchfiles
-
- soll vor Ausführung auf den Bildschirm aus-
-
- gegeben werden (default-Einstellung).
-
-
-
-
-
- notext Abschalten der Kommandoausgabe.
-
-
-
-
-
- errorbreak BATCH-Kommandos im Falle eines Fehlers
-
- abbrechen / nicht abbrechen (es wird hin-
-
- und hergeschaltet).
-
-
-
-
-
- lbl <marke> Sprungmarke in einem Batchfile. Es darf
-
- kein weiterer Befehl in einer lbl-Zeile
-
- stehen!
-
- Bsp.: lbl LOOP
-
- festlegen des Labels 'LOOP'
-
-
-
-
-
- goto <marke> Sprung zur angegebenen Marke.
-
- Bsp.: goto LOOP
-
- würde zum oben angegeben Label springen.
-
-
-
-
-
- exist <file> <label> ist <file> vorhanden wird zu <label> ge-
-
- sprungen.
-
-
-
-
-
- size0 <file> <label> ist <file> nicht da oder Größe gleich Null
-
- wird zu <label> gesprungen.
-
-
-
-
-
- ;<Kommentar> Kommentarzeile, die überlesen wird.
-
- ';' kann an jeder beliebigen Stelle der
-
- Eingabe stehen. Alle nachfolgenden
-
- Zeichen werden ignoriert.
-
- Bsp.: dir ; no comment
-
- verhält sich wie 'dir'.
-
- ';' ermöglicht eine recht gute Doku-
-
- mentierung von Batchfiles.
-
-
-
-
-
- status Ausgabe einer Variablen, die zur Steuerung
-
- innerhalb des Batchfiles benutzt wird.
-
- Sie wird vor jedem Ablauf eines Batchfiles
-
- auf Null gesetzt. Werden innerhalb des
-
- Files andere Programme (z.B. Compiler) ge-
-
- startet, so wird deren Rückgabewert in
-
- 'status' abgelegt. Ein fehlerhafter Compiler-
-
- lauf kann also zum Sprung zu einer bestimmten
-
- Marke genutzt werde. Der Benutzer muß aller-
-
- dings die Rückgabewerte der Programme und
-
- ihre Bedeutung kennen. Wird nur das Kommando
-
- 'status' gegeben, wird der Wert dieser
-
- Variablen angezeigt. Damit kann man also
-
- Programmrückgabewerte bestimmen.
-
-
-
-
-
- <> <zahl> Ist 'status' ungleich einer bestimmten Zahl,
-
- wird der Batchvorgang abgebrochen (z.B.
-
- nach einem fehlerhaften Compiliervorgang).
-
- Bsp.: <> 0
-
- ist 'status' <> 0, dann brich ab.
-
-
-
-
-
- < <zahl> Analog zu '<>' nur erfolgt hier der Abbruch,
-
- wenn 'status' < <zahl>.
-
-
-
-
-
- > <zahl> Analog, nur größer diesmal.
-
-
-
-
-
- == <zahl> Diesmal Abbruch, wenn gleich <zahl>.
-
-
-
-
-
- ?status= <zahl> <label> Diese drei Befehle dienen zur Steuerung des
-
- ?status> <zahl> <label> Batchfiles, wenn bestimmte Ereignisse ein-
-
- ?status< <zahl> <label> getreten sind. Ist 'status' gleich, größer
-
- oder kleiner einer bestimmten Zahl, soll ab
-
- einem bestimmten Label innerhalb des Batch-
-
- files weitergemacht werden.
-
- Bsp.: ?status> 0 editor
-
- ist 'status' größer Null springe zum Label
-
- 'editor'.
-
-
-
-
-
- counter Auf die Variable 'status' kann der Benutzer
-
- keinen direkten Einfluß nehmen. In vielen
-
- Fällen, z.B. wenn Schleifendurchgänge ge-
-
- braucht werden, ist jedoch ein kontrollier-
-
- barerer Ablauf notwendig. Zu diesem Zweck gibt
-
- es die Variable 'counter'. Ihre Belegung
-
- und Verwendung unterliegt dem vollständigen
-
- Einfluß durch den Benutzer.
-
- Der Befehl 'counter' gibt den Wert dieser
-
- Variablen wieder.
-
-
-
-
-
- setcounter <zahl> Setzt 'counter' auf den Wert <zahl>.
-
- Bsp.: setcounter 20
-
- counter := 20;
-
-
-
-
-
- inccounter erhöht 'counter' um eins.
-
-
-
-
-
- deccounter erniedrigt 'counter' um eins
-
-
-
-
-
- ?counter= <zahl> <label> wenn 'counter' = <zahl> gehe zu <label>.
-
-
-
-
-
- ?counter< <zahl> <label> wenn 'counter' < <zahl> gehe zu <label>.
-
-
-
-
-
- ?counter> <zahl> <label> wenn 'counter' > <zahl> gehe zu <label>.
-
-
-
-
-
- ?counter# <zahl> <label> wenn 'counter' <> <zahl> gehe zu <label>.
-
-
-
-
-
- counter+ <zahl> counter := counter + <zahl>
-
-
-
-
-
- counter- <zahl> counter := counter - <zahl>
-
-
-
-
-
- counter* <zahl> counter := counter * <zahl>
-
-
-
-
-
-
-
- Es soll angemerkt werden, daß 'status' eine 32-Bit-Integer Zahl ist. Bei
-
- 'counter' handelt es sich um einen 16-Bit-Integerwert.
-
- Tritt in einem Batchfile ein Syntaxfehler auf, wird die Abarbeitung abge-
-
- brochen (nicht bei Benutung von 'errorbreak')!
-
- Befindet sich im AUTO-Ordner die Batch-Datei 'batch.com', so wird diese von
-
- 'command.prg' während dem Programmstart ausgeführt. Damit hat man z.B. die
-
- Möglichkeit, bestimmte Files auf eine RAMDisk zu kopieren oder Funktions-
-
- tasten vorzubelegen.
-
-
-
- Beispiele:
-
-
-
- Bsp. 1:
-
-
-
- ;
-
- ; Batchfile zur Compilierung und zum Linken eines C-Files
-
- ;
-
- cc $0.c ; Aufruf des Compilers
-
- <> 0 ; Abbruch wenn Fehler aufgetreten
-
- link $0.o -o $1 ; Linken des Objektfiles
-
- <> 0 ; Abbruch wenn Fehler aufgetreten
-
- rm $0.o ; Löschen des Objektfiles
-
-
-
- Im vorliegenden Beispiel wird ein C-Sourcefile mit Hilfe eines Batchfiles
-
- compiliert und gelinkt.
-
- Die ersten drei Zeilen dienen lediglich der Dokumentierung (Kommentar-
-
- zeilen). In Zeile 4 wird der C-Compiler aufgerufen. '$0' repräsentiert
-
- den Namen des Sourcefiles (Eingabe ohne Extension!). Es wird davon aus-
-
- gegangen, daß der Compiler im Falle eines korrekten Durchlaufs eine
-
- Null zurückgibt. Andernfalls sorgt Zeile 5 für einen Abbruch der Batch-
-
- Bearbeitung. Nach dem Compilieren soll der entstandene Objektfile gelinkt
-
- werden. Dies wird durch die Anweisung in Zeile 6 bewerkstelligt.
-
- '$0' ist wieder der Programmname, diesmal mit Extension '.o', $1 soll den
-
- Namen des lauffähigen Programms darstellen (diesmal muß eine Extension
-
- angegeben werden). Im Fehlerfall sorgt Zeile 7 für einen Abbruch der
-
- Bearbeitung. Ist alles in Ordnung wird durch Zeile 8 noch der Objekt-
-
- file gelöscht.
-
- Angenommen der Batchfile heißt 'cc.com', so sorgt zum Beispiel das
-
- Kommando '@cc test run.prg' für eine Compilierung des Files 'test.c'.
-
- Der lauffähige File wird unter 'run.prg' abgelegt.
-
- Man kann hier sehr gut die Vorteile der Platzhalter ($) erkennen.
-
- Unterschiedliche C-Files können mit einem Batch-File bearbeitet werden.
-
-
-
-
-
- Bsp. 2:
-
-
-
- Dieses Beispiel ist für alle Benutzer des Assemblers aus dem Entwicklungs-
-
- paket interessant. Es zeigt, wie man Batchfiles abbrechen kann, auch wenn
-
- das aufgerufene Programm keine Fehlercodes zurückgibt.
-
-
-
- size0 $0.s exit ; Sourcefile muß da sein
-
- as68.ttp -l -u $0.s ; Assemblierung
-
- size0 $0.o linker ; wenn kein '.o'-File vorhanden raus
-
- link68.ttp [u] $0.68k = $0.o ; Linken
-
- size0 $0.68k exit ; wenn kein '.68k'-File vorhanden raus
-
- relmod.ttp $0.68k $0.$1 ; lauffähigen File erstellen
-
- rm $0.68k *.o ; '.o' und '.68k' Files löschen
-
- lbl exit
-
-
-
- Dieser Batchfile arbeitet wieder mit zwei Argumenten ($0 und $1). $0 re-
-
- präsentiert wieder den Filenamen (ohne Extension), $1 die Extension des
-
- lauffähigen Files. Heißt der Batchfile 'as' könnte eine Assemblierung
-
- z.B. so aussehen:
-
- '@as test tos',
-
- d.h. File 'test.s' soll in 'test.tos' resultieren.
-
-
-
-
-
-
-
- Variablen
-
- ---------
-
-
-
- Eine große Neuerung ab Version 1.02 stellt die Einführung von Variablen dar.
-
- Der Benutzer hat nun die Möglichkeit, beliebige Variablen zu definieren und
-
- einfache Rechnungen mit ihnen durchzuführen. Dies kann in Batch-Files zum
-
- Aufbau von Schleifen benutzt werden.
-
-
-
- Die Befehle im Einzelnen:
-
-
-
- let <var>✓£ÄSüנõנä0¨`y9╱D ג⇦⇦ gij@ gαijG⇩`x88y999B⇨α`gijג τijG⇦⇧ijג⇩gπ#ππ°88y999⇩⇦ ij@τגIJ⇦'ijG⇩A◆╱@ג'Σ G⇦⇧ijג⇩d'ו ⇦gπ#ππ°88x88x88A⇦gαijG⇩`gα'ταijG⇩gijτijG⇧ijαgαijו╱D αx88A⇦gαijG⇩`gααgαijG⇩gijτijG⇧ijαgαijו╱D αx88A⇦gαijG⇩`gαgταijG⇩gijτijG⇧ijαgαijו╱D αx88A⇦gαijG⇩`gατταijG⇩gijτijG⇧ijαgαijו╱D αx88y999 @⇩gIJ gמG ה⇧αA ג⇩'ij@ 'חIJ `'ij Dτחג⇩B⇨אA D⇦ x88y999⇦⇦⇦⇧⇦ D αx88y999B⇨α`x88y9999⇧⇦gו'α'π#τij◆⇩@⇦#888y999 ⇦ @gו'α'π#ατא⇨אA D⇦'ij@'Σ ◆⇩@⇦#$888y999B⇨α`x8
- if xy <> ab ende
-
- wenn 'xy' ungleich 'ab', springe zu 'ende'
-
-
-
-
-
- -- <var1> <var2> .. <varN> dekrementieren von Variablen um eins.
-
- Bsp.: -- zaehler xy ab
-
- dekrementiert die angegebenen Variablen um
-
- eins
-
-
-
-
-
- ++ <var1> <var2> .. <varN> inkrementieren von Variablen um eins.
-
-
-
-
-
- -= <varA> <var | zahl> erniedrigen von <varA> um <zahl | var >
-
- Bsp.: -= ab 10
-
- zieht von 'ab' 10 ab
-
-
-
-
-
- += <varA> <var | zahl> analog zu -=, nur erhöhen.
-
-
-
-
-
- 2* <var1> <var2> .. <varN> verdoppeln von Variablenwerten.
-
- Bsp.: 2* zaehler
-
- zaehler := 2 * zaehler
-
-
-
-
-
- 2/ <var1> <var2> .. <varN> halbieren von Variablenwerten.
-
-
-
-
-
- *= <varA> <var | zahl> multiplizieren von <varA> mit <var | zahl>
-
- Bsp.: *= ab xy
-
- ab := ab * xy
-
-
-
-
-
- /= <varA> <var | zahl> analog zu *=, nur Division.
-
-
-
-
-
- print <var1> <var2> .. <varN> ausgeben der Variableninhalte.
-
-
-
-
-
- clear alle Variablen auf Null setzen.
-
-
-
-
-
- vardump Ausgabe aller Variablen mit Belegungen.
-
-
-
-
-
- Die Werte der Variablen sind vom Typ 'long' (integer).
-
- Neue Variablen können nicht nur durch den 'let'-Befehl eingeführt werden.
-
- Jeder Bezug auf eine Variable, die noch nicht existiert, erzeugt einen
-
- Variableneintrag und setzt den Wert auf Null!
-
-
-
-
-
-
-
- Zum Schluß möchte ich noch auf die Anfälligkeit bezüglich Bomben eingehen.
-
- Im normalen Betrieb ist das Programm (hoffentlich) absturzsicher. Es ist
-
- allerdings möglich, die ach so beliebten Bomben auf den Bildschirm zu
-
- zaubern. Wie das geht soll jeder selbst rausfinden.
-
- Die eigentliche Stärke des Interpreters kommt bei der Benutzung einer Hard-
-
- disk zum Vorschein, es läßt sich damit wesentlich effektiver arbeiten als
-
- mit der Maus oder den diversen Shells, die so durch die Computerwelt
-
- geistern. Nur absolute Mausfetischisten dürften auf die Vorzüge eines
-
- solchen Kommandointerpreters verzichten wollen, schneller ist die Bedienung
-
- des Rechners mit solchen Programmen auf jeden Fall.
-
- Es gibt Programme, die sich mit diesem Interpreter, aus was für Gründen auch
-
- immer, nicht vertragen. Eins davon ist (leider) der GFA-BASIC-Interpreter.
-
-
-
-
-
- Der Kommando-Interpreter kann frei kopiert werden. Es bestehen keinerlei
-
- Copyright-Ansprüche. Für Anregungen, Fehlermeldungen oder unbedingt notwendige
-
- Erweiterungen bin ich immer dankbar. Diese können an folgende Adresse ge-
-
- schickt werden:
-
-
-
- Joachim Wolf
-
- Hügelheimerstr. 15
-
- 7840 Müllheim / Baden
-
-
-
- Da ich meistens nur am Wochende einige Zeit mit dem ATARI zubringe, möchte
-
- ich darum bitten, daß keine Kopierwünsche o.ä. an mich herangetragen werden,
-
- ich könnte sonst nur noch weniger Zeit mit der Suche nach Fehlern zubringen!
-
-